package com.platform.system.domain;

import io.swagger.v3.oas.annotations.media.Schema;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.platform.common.annotation.Excel;
import com.platform.common.core.domain.BaseEntity;

/**
 * 反馈对象 pro_feedback
 *
 * @author platform
 * @date 2025-02-23
 */
@Schema(name = "反馈对象", description = "")
public class ProFeedback extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @Excel(name = "主键ID")
    @Schema(description = "主键ID", implementation = Long.class, requiredMode = Schema.RequiredMode.AUTO, example = "")
    private Long id;

    /**
     * 关联ID
     */
    @Excel(name = "关联ID")
    @Schema(description = "关联ID", implementation = Long.class, requiredMode = Schema.RequiredMode.AUTO, example = "")
    private Long mappingId;

    /**
     * 类型,[0-商品反馈,1-公益反馈,2-用户使用反馈]
     */
    @Excel(name = "类型,[0-商品反馈,1-公益反馈,2-用户使用反馈]")
    @Schema(description = "类型,[0-商品反馈,1-公益反馈,2-用户使用反馈]", implementation = Integer.class, requiredMode = Schema.RequiredMode.AUTO, example = "")
    private Integer type;

    /**
     * 标题
     */
    @Excel(name = "标题")
    @Schema(description = "标题", implementation = String.class, requiredMode = Schema.RequiredMode.AUTO, example = "")
    private String title;

    /**
     * 内容
     */
    @Excel(name = "内容")
    @Schema(description = "内容", implementation = String.class, requiredMode = Schema.RequiredMode.AUTO, example = "")
    private String comment;

    /**
     * 用户id
     */
    @Excel(name = "用户id")
    @Schema(description = "用户id", implementation = Long.class, requiredMode = Schema.RequiredMode.AUTO, example = "")
    private Long userId;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setMappingId(Long mappingId) {
        this.mappingId = mappingId;
    }

    public Long getMappingId() {
        return mappingId;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getType() {
        return type;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getComment() {
        return comment;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("mappingId", getMappingId())
                .append("type", getType())
                .append("title", getTitle())
                .append("comment", getComment())
                .append("userId", getUserId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
